package rmmk.algorithms.preprocessing.filters;

import rmmk.algorithms.preprocessing.abstraction.IWordFilter;

/**
 * Zwraca wyraz, składający się z samych małych znaków (minumum 3), bez interpunkcji
 * @author Marcin
 *
 */
public class ToLowercaseNoInterpunctionFilter implements IWordFilter {

	private static String regexOnlyLetters = "[a-z]{3,}";
	
	@Override
	public String processWord(String word) {
		if (word.isEmpty() || word == null) return null;
		word = word.toLowerCase();
		
		//word = word.replaceAll("\\s+", "");
		
		if(word.matches(regexOnlyLetters)) return word;
		
		else word = word.replaceAll("[^a-z]", "");
		
		return word.matches(regexOnlyLetters) && word.isEmpty() ? null : word;
	}

}
